// Decompiled with JetBrains decompiler
// Type: FibMatrix.Config.IMetaKeyValueCollection
// Assembly: FMCommon, Version=1.0.8663.21262, Culture=neutral, PublicKeyToken=null
// MVID: 52773074-FB09-4BA0-8FA9-4782D11D6C17
// Assembly location: /Users/mac/work/RiverGame/com.rivergame.fmframework/Runtime/Plugins/FMCommon.dll

using System.Collections.Generic;

namespace FibMatrix.Config
{
    public interface IMetaKeyValueCollection
    {
        string ReadString(string key, string defaultVal = null);

        string ReadString(int keyId, string defaultVal = null);

        int ReadInt(string key, int defaultVal = -1);

        int ReadInt(int keyId, int defaultVal = -1);

        long ReadLong(string key, long defaultVal = -1);

        long ReadLong(int keyId, long defaultVal = -1);

        float ReadFloat(string key, float defaultVal = 0.0f);

        float ReadFloat(int keyId, float defaultVal = 0.0f);

        double ReadDouble(string key, double defaultVal = 0.0);

        double ReadDouble(int keyId, double defaultVal = 0.0);

        int[] ReadIntArray(string key, int[] defaultVal = null);

        int[] ReadIntArray(int keyId, int[] defaultVal = null);

        float[] ReadFloatArray(string key, float[] defaultVal = null);

        float[] ReadFloatArray(int keyId, float[] defaultVal = null);

        string[] ReadStringArray(string key, string[] defaultVal = null);

        string[] ReadStringArray(int keyId, string[] defaultVal = null);

        Dictionary<string, string> AllToDictionary();

        bool ContainsKey(string key);

        int Key2Id(string key);
    }
}
